This invention relates to a database access system for an object-oriented database, and, more particularly, to a data base access system capable of accessing a database in case where a database implementation language and a data manipulation language are different from each other.
A conventional database access system is disclosed in Japanese Patent Publication (JP-A) Tokkai Hei 6-282437 (282437/1994) and will be referred as a first conventional database access system. The first conventional database access system may be, for example, used on accessing an object-oriented database. When another database accesses an object stored in the object-oriented database, it is necessary to copy data stored in object-oriented database to the other database. The first conventional database access system is an access system of object attributes for obtaining an attribute value with index reference. When an attribute of the object is accessed for the first time, the value of the attribute is obtained with retrieval inasmuch as the layout information of attribute data is uncertain. In the second or after access, the index based on the actual layout information becoming clear in the first access is recorded in an index conversion table storing the correspondence of the conversion index based on the actual layout information to an index based on assumed layout information of attribute data, by a program.
Another conventional database access system is disclosed in Japanese Patent Publication (JP-A) Tokkai Hei 2-186479 (186479/1990) and will be referred as a second conventional database access system. The second conventional database access system is for copying and transferring an object to a distributed database. In the second conventional database access system, a user can easily inquire without considering the difference between the local databases in an inquiry process of a distributed database composed of a plurality of local databases that are separately defined.
It is necessary to copy of an object in a database in case where a data manipulation language and a database implementation language are different from each other because of the conversion from the data structure manipulated by the database implementation language to the data manipulated by the data manipulation language. In a database system where one or more databases are manipulated in different environments such as a distributed database system or a database system where a plurality of program languages manipulates data, it possible to access data in different environments by copying of the object.
As will be described later, a data manipulation routine scarcely accesses all the attributes of an object in each of the first and the second conventional database access system. The data manipulation routine frequently accesses several attributes of the object. However, data conversion of the object is to perform the data conversion of all the attributes of the object. Redundant data conversion is carried out in each of the first and the second conventional database access system. Namely, inefficient database access is carried out in each of the first and the second conventional database access system.
Inasmuch as data conversion of all the attributes is carried out in each of the first and the second conventional database access system, retrieval speed is degraded and system performance is lowered. In addition, the above-mentioned object-oriented database has not only an object to be retrieved from the database but also the object having the same contents in the data type of the data manipulation language. As a result, memory capacity necessary for data manipulation increases in each of the first and the second conventional database access system. The increase of the memory capacity leads to the increase of cost.